<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Lista extends MY_Controller {

	public function __construct()
	{
		parent::__construct();
	}

	public function index()
	{	
		redirect('lista/visualizar', 'refresh');
	}

	public function visualizar()
	{	
		$dados = array();

		$this->template->add_js('system/lista/visualizar.js');
		$this->template->write_view('content', 'lista/visualizar_view', $dados);
		$this->template->render();
	}

	public function agrid_lista()
	{	

		$this->load->model('lista_model', 'lista');
		$this->lang->load('status');
		$status = $this->lang->line('status');

		$limite = $this->input->post('iDisplayLength');
		$start  = $this->input->post('iDisplayStart');
		$sort   = $this->input->post('iSortCol_0');
		$order  = $this->input->post('sSortDir_0');

		switch ($sort) {
			case 1:
				$sort_field = 'l.li_id';
				break;
			default:
				$sort_field = 'l.li_id';
				break;
		}
		
		$listas = $this->lista->get_to_grid($sort_field, $order, $start, $limite, $this->input->post());

		$resp['iTotalRecords']        = $listas['total'];
		$resp['iTotalDisplayRecords'] = $listas['total'];

		$resp['aaData'] = array();
		$indice = 0;
		foreach ($listas['get']->result() as $row)
		{
			$j = 0;

			$resp['aaData'][$indice][$j++] = '<label><input type="checkbox" name="check_iten[]" value="'.$row->li_id.'" /></label>';
			$resp['aaData'][$indice][$j++] = $row->li_id;
			$resp['aaData'][$indice][$j++] = $row->li_data;
			$resp['aaData'][$indice][$j++] = $row->li_nome;
			$resp['aaData'][$indice][$j++] = $status[$row->li_status];
				
			$indice++;
		}

		echo json_encode($resp);
	}

	/*==== AJAX ====*/
	public function aexcluir()
	{
		$this->load->model('lista_model', 'lista');
		$resp = array(
			'erro' => 0,
			'msg'  => ''
		);

		// Monta o array do post
		parse_str($_POST['dados_form'], $_POST);
		
		$del = $this->lista->excluir($_POST['check_iten']);

		if ($del['linhas_afetadas'] == 0)
		{
			// Erro ao excluir
			$resp['erro']++;
			$resp['msg'] = $del['erro']['custom_msg'];
		}
		else
		{
			$resp['msg'] =  $del['linhas_afetadas'] . ' registro(s) excluido(s) com sucesso';
		}

		echo json_encode($resp);
	}

	public function amuda_status()
	{
		parse_str($this->input->post('dados_form'), $_POST);

		$resp = array(
			'erro' => 0,
			'msg'  => ''
		);

		$this->load->model('lista_model', 'lista');

		$dados = array(
			'li_status' => $_POST['status']
		);

		$alterados = $this->lista->alterar($_POST['check_iten'], $dados);

		if ($alterados == 1)
		{
			$resp['msg'] = "$alterados registro foi alterado.";
		}
		else
		{
			$resp['msg'] = "$alterados registros foram alterados.";
		}

		echo json_encode($resp);
	}
}